package com.qingsong.service;

import com.github.pagehelper.PageInfo;
import com.qingsong.dto.*;
import com.qingsong.entity.Assets;
import java.util.List;

public interface AssetsService {
    /**
     * 添加一条资产记录
     * @param assetsInsertDTO 资产添加实体
     * @return 影响条目数
     */
    int insert(AssetsInsertDTO assetsInsertDTO);

    /**
     * 按主键查一条资产记录
     * @param id 资产表主键
     * @return 一条资产记录
     */
    Assets selectById(Long id);

    /**
     * 按主键修改一条资产记录
     * @param assetsUpdateDTO 资产修改实体
     * @return 影响条目数
     */
    int updateById(AssetsUpdateDTO assetsUpdateDTO);

    /**
     * 按主键逻辑删除一条资产记录
     * @param id 资产表主键
     * @return 影响条目数
     */
    int logicDeleteById(Long id);

    /**
     * 按主键列表逻辑删除多条资产记录
     * @param ids 资产表主键列表
     * @return 影响条目数
     */
    int logicDeleteByIds(List<Long> ids);

    /**
     * 全查询所有资产记录
     * @return 所有资产记录集合
     */
    List<Assets> list();

    /**
     * 上传资产头像
     *
     * @param dto 头像文件
     * @return 文件名
     */
    String uploadPicture(AssetsUploadDTO dto);

    /**
     * 分页查询资产记录
     * @param pageDTO 分页实体类
     * @return 分页数据
     */
    PageInfo<Assets> page(PageDTO pageDTO);

    PageInfo<Assets> pageLikeTitle(AssetsPageDTO dto);

}
